home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / mkid / Makefile < prev    next >
Makefile  |  1995-05-03  |  4KB  |  152 lines

  1. DESTDIR=/usr/skunk
  2. #!/bin/make -f
  3.  
  4. # Copyright (c) 1986, Greg McGary
  5. # @(#)makefile    1.3 86/11/06
  6.  
  7. # --------------------------------------------------------------------
  8. # System Dependent Configuration:
  9. #   Choose a pre-packaged set of options below, or roll your own.
  10. #   The relevant options are as follows:
  11. #
  12. # * If you have the `PW' library which includes the regular-expression
  13. #   funcions regcmp(3) and regex(3), then use `-DREGEX' in DEFS, and
  14. #   `-lPW' in LIBS.  If you have the regular-expression functions
  15. #   re_comp(3) and re_exec(3), use `-DRE_EXEC' in DEFS.  If you don't
  16. #   have any regular-expression functions, don't add either to DEFS.
  17. #
  18. # * If you have the POSIX compatible directory reading routines (the
  19. #   struct dirent ones), define -DDIRENT in DEFS.  Otherwise it is
  20. #   assumed you have the 4.2 (struct direct) routines
  21. #
  22. # * If you do not have the 4.2 directory access libraries, add `-lndir'
  23. #   to LIBS, and define `-DNDIR' in DEFS. 
  24. #
  25. # * If your string libraries have index(3) and rindex(3) instead of
  26. #   strchr(3) and strrchr(3), use `-DRINDEX' in DEFS.
  27. #
  28. # * If your compiler chokes on pointers to functions returning void,
  29. #   use `-Dvoid=int' in DEFS.
  30. #
  31. # * If you have setlinebuf(3) in your stdio to set line-buffering on
  32. #   a stream, use `-DERRLINEBUF' in DEFS.
  33. #
  34. # * If you have a System-III/V terminal driver, define `TERMIO' in DEFS.
  35. #
  36. # * If you have ranlib(1), define `RANLIB' as such.  If you don't have
  37. #   it, set `RANLIB' to something harmless like `@:', or `echo'
  38. # --------------------------------------------------------------------
  39.  
  40. DEFS    =    -DREGEX -DDIRENT -DTERMIO    # typical System-V defs
  41. # DEFS    =    -Dvoid=int -DRINDEX -DRE_EXEC -DNDIR    # typical V7 defs
  42. # DEFS    =    -Dvoid=int -DRINDEX -DRE_EXEC -DERRLINEBUF    # BSD defs
  43.  
  44. LIBS    =    -lPW -lc_s
  45. # LIBS    =    -lndir -lPW    # typical System-V libs
  46. # LIBS    =    -lndir    # typical V7 libs
  47. # LIBS    =    # typical BSD libs (none)
  48.  
  49. RANLIB    =    @:    # system doesn't have ranlib (Sys-V)
  50. # RANLIB    =    ranlib    # system has ranlib (typically V7 & BSD)
  51.  
  52. # --------------------------------------------------------------------
  53. # Compilation / Loading options:
  54. #   Choose options to generate a system as an installed product,
  55. #   for debugging, or for performance profiling.
  56. # --------------------------------------------------------------------
  57.  
  58. # CCFLG    =    -g -DDEBUG     # debugging
  59. # CCFLG    =    -p    # profiling
  60. CCFLG    =    -O    # production
  61.  
  62. # LDFLG    =    -g    # debugging
  63. # LDFLG    =    -p    # profiling
  64. LDFLG    =    -s    # production
  65.  
  66. # --------------------------------------------------------------------
  67.  
  68. SHELL =        /bin/sh
  69. TARGETS =    libid.a $(PROGS) $(LIDLINKS)
  70. PROGS =        mkid lid idx fid
  71. DESTINATION_DIR = $(DESTDIR)/bin
  72.  
  73. LIDLINKS =     gid aid eid
  74. CFLAGS =    $(CCFLG) -I. $(DEFS)
  75. LDFLAGS =    $(LDFLG) libid.a $(LIBS)
  76.  
  77. OFILES =    init.o getscan.o scan-c.o scan-asm.o bsearch.o hash.o \
  78.         bitops.o basename.o gets0.o getsFF.o paths.o opensrc.o \
  79.         stoi.o uerror.o document.o bitcount.o wmatch.o bitsvec.o \
  80.         tty.o bzero.o
  81.  
  82. MANPAGES =    mkid.1 lid.1 aid.1 eid.1 gid.1
  83.  
  84. # --------------------------------------------------------------------
  85.  
  86. all:        $(TARGETS)
  87.  
  88. libid.a:    $(OFILES)
  89.         ar rv $@ $?
  90.         $(RANLIB) $@
  91.  
  92. mkid:        mkid.o libid.a
  93.         $(CC) -o $@ $@.o $(LDFLAGS)
  94.  
  95. fid:        fid.o libid.a
  96.         $(CC) -o $@ $@.o $(LDFLAGS)
  97.  
  98. lid:        lid.o libid.a
  99.         $(CC) -o $@ $@.o $(LDFLAGS)
  100.  
  101. idx:        idx.o libid.a
  102.         $(CC) -o $@ $@.o $(LDFLAGS)
  103.  
  104. $(LIDLINKS): lid
  105.         -/bin/rm -f $@
  106.         ln lid $@
  107.  
  108. install:    $(PROGS)
  109.         cp $(PROGS) $(DESTINATION_DIR)
  110.         ( cd $(DESTINATION_DIR) ; \
  111.             for prog in $(LIDLINKS) ; do \
  112.                 ln lid $$prog ; \
  113.             done \
  114.         )
  115.  
  116. inst-man:    $(MANPAGES)
  117.         scoinst -c -m 444 mkid.1 $(DESTDIR)/man/man.1
  118. #        (cd $(DESTDIR)/catman/u_man/man1 ; \
  119. #            rm -f gid.1.Z lid.1.Z aid.1.Z eid.1.Z ; \
  120. #            touch gid.1.Z ; \
  121. #            ln gid.1.Z lid.1.Z ; \
  122. #            ln gid.1.Z aid.1.Z ; \
  123. #            ln gid.1.Z eid.1.Z \
  124. #        )
  125.         scoinst -c -m 444 gid.1  $(DESTDIR)/man/man.1
  126. #        (cd $(DESTDIR)/man/u_man/man1 ; \
  127. #            rm -f lid.1 aid.1 eid.1 ; \
  128. #            ln gid.1 lid.1 ; \
  129. #            ln gid.1 aid.1 ; \
  130. #            ln gid.1 eid.1 \
  131. #        )
  132.  
  133. clean clobber:
  134.         rm -f $(TARGETS) *.o
  135.  
  136. id.tar:
  137.         cd ..; tar cvbf 20 id/id.tar id/*.[ch1-8] id/makefile id/TODO id/TUTORIAL
  138.  
  139. id.tar.Z:    id.tar
  140.         compress -b 14 <id.tar >id.tar.Z
  141.  
  142. id.shar:    id.shar-1 id.shar-2 id.shar-3
  143.  
  144. id.shar-1:
  145.         shar $(SHARFLAGS) TUTORIAL TODO makefile *.h *.[1-8] >$@
  146.  
  147. id.shar-2:
  148.         shar $(SHARFLAGS) [a-l]*.c >$@
  149.  
  150. id.shar-3:
  151.         shar $(SHARFLAGS) [m-z]*.c >$@
  152.